/*
 * Copyright 2017 Baiyyy
 * @(#)IPsZcdMxService.java
 */

package com.byyy.ccts.modules.cc.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.byyy.ccts.core.common.service.ICommonService;
import com.byyy.ccts.core.query.data.Queryable;
import com.byyy.ccts.modules.cc.entity.ccts.PsZcdMx;
import com.byyy.ccts.modules.cc.entity.ccts.TsRelation;

import java.util.List;
import java.util.Map;

/**
 * Created by DELL on 2018-6-27.
 */
public interface IPsZcdMxService extends ICommonService<PsZcdMx> {

    /** 装车单明细关联操作 */
    String relation(List<TsRelation> relations);

    /** 装车单明细简单查询-供配送交接使用 */
    List<PsZcdMx> selectSimpleListByZcdNo(String zcdNo);

    /** 根据装车单列表查询装车单明细信息 */
    List<PsZcdMx> selectByZcdNos(List<String> zcdNos);

    /** 更新商品存储温度 */
    String updProdsTemp(List<PsZcdMx> zcdMxList);

    /** 更新商品存储温度 */
    String updProdsTempDSF(List<PsZcdMx> zcdMxList);

    /** 装车单明细列表查询 */
    public com.byyy.ccts.core.query.data.Page<PsZcdMx> zcdMxList(Queryable queryable, Wrapper<PsZcdMx> wrapper);

    /** 装车单明细列表查询 */
    Page<PsZcdMx> zcdMxListPage(Page<PsZcdMx> page, Wrapper<PsZcdMx> wrapper);

    /** 装车单拆分*/
    String zcdSplit(String zhuangcdId, int number);

    /** API-装车关联 */
    public String relationForApi(List<TsRelation> relations, boolean isWhole);

    /** API-设备当前温度查询 */
    public Map<String, Object> deviceCurTempForApi(String zcdNo);

    /** 根据设备ID查询是否是在途运送的数据，查询单据信息 */
    public PsZcdMx selectMxOnTheWayBySN(String sn);

    /** API-根据流水号拆分装车单 */
    public String zcdSplitForApi(String cjId, String lcSn, String liushBarcode, int splitNumber);

    /** 根据流水号查找装车单明细 **/
    List<PsZcdMx> selectByBarcodes(List<String> barcodes);

    /** 根据冷藏车ID查询是否是在途运送的数据，查询单据信息 */
    public PsZcdMx selectMxOnTheWayByCar(String car);

    /** 根据装车单号获取明细信息（冷藏车专用） */
    List<PsZcdMx> selectCarMxByZcdNos(List<String> zcdNos);

}
